草庐IT

python 反序列化

全部标签

python - 如何在 Python 中使用 ElementTree 删除 xml 中的节点?

我已阅读remove示例here和示例here不适用于我。我的xml文件是这样的:sometextothertextmoretext我想做的是删除第二个从xml。我不知道它包含什么文本。但是我有的索引,假设index=1,这意味着我要删除第二个元素(或节点)。我有这样的代码:F=open('example.xml')self.tree=parse(F)self.root=self.tree.getroot()F.close()所以在这种情况下,我要删除的是self.root[1].这如何使用ElementTree实现?编辑:使我的问题更加清晰和具体。 最佳答

Python lxml - 如何删除空的重复标签

我有一些由脚本生成的XML,这些XML可能包含也可能不包含空元素。我被告知现在我们不能在XML中包含空元素。这是一个例子:@SSN输出应该是这样的:@SSN我需要删除所有空元素。您会注意到我的代码取出了“govId”子元素中的空内容,但没有取出第二个中的任何内容。我现在正在使用lxml.objectify。这基本上是我正在做的:root=objectify.fromstring(xml)forcustomerinroot.customers.iterchildren():foreincustomer.govId.iterchildren():ifnote.text:customer.g

c# - 由于格式化,XML 反序列化在十进制解析时崩溃

当我尝试将XML解析为对象时抛出System.FormatException。据我所知,这是由于System.Xml.Serialization.XmlSerializer.Deserialize中使用的区域性导致的,它期望一个点作为十进制字符,但xml包含一个逗号。对象如下所示:publicsealedclassTransaction{[XmlElement("transactionDate")]publicDateTimeTransactionDate{get;set;}[XmlElement("transactionAmount")]publicdecimalAmount{get

c# - List<Object> 的 XML 序列化

我无法使用XML序列化将动物列表保存到磁盘。我收到异常:抛出:“AnimalLibrary.Animals.Mammals.Dog类型不是预期的。使用XmlInclude或SoapInclude属性指定静态未知的类型。”(System.InvalidOperationException)如果我尝试使用“Dog”注释代码,它将按预期工作并生成XML。但是作为列表中唯一元素发送的同一条狗不起作用。[XmlElement("animalList")]publicListanimalList=newList();publicboolSaveBinary(stringfileName){Mamm

c# - 如何使类反序列化为不同的名称

例如:将很好地序列化到一个名为“apple”的类。但是,如果我想将该类称为“Dragon”,它将不会序列化(这是有道理的)。我想知道如何标记“Dragon”,以便当XmlSerializer看到它时,它知道“Dragon”与 最佳答案 假设Dragon至少定义了apple所做的属性和字段的超集,那么competent_tech的回答是合适的,尽管我认为您的问题实际上是在问:[System.Xml.Serialization.XmlType("apple")]publicclassDragon如果Dragon不与apple兼容,那么您

c# - 如何使用类名作为根元素序列化 C# 类

我有以下C#类[XmlRoot("Customer")]publicclassMyClass{[XmlElement("CustId")]publicintId{get;set;}[XmlElement("CustName")]publicstringName{get;set;}}然后我使用以下函数将类对象序列化为XmlpublicstaticXmlDocumentSerializeObjectToXML(objectobj,stringsElementName){XmlSerializerserializer=newXmlSerializer(obj.GetType(),newXml

c# - 如何使用默认命名空间反序列化 xml?

我正在尝试反序列化由内部系统之一生成的Atomxml。但是,当我尝试时:publicstaticMyTypeFromXml(stringxml){XmlSerializerserializer=newXmlSerializer(typeof(MyType));return(MyType)serializer.Deserialize(newStringReader(xml));}它在命名空间的定义上抛出一个异常:System.InvalidOperationException:wasnotexpected.当我将命名空间添加到XmlSerializer的构造函数时,我的对象完全是空的:p

c# - 反序列化错误 : The XML element 'name' from namespace '' is already present in the current scope

这是我第一次使用XML序列化,在尝试解决此问题2天后,这绝对让我疯狂。反序列化开始时出现此错误:TheXMLelement'name'fromnamespace''isalreadypresentinthecurrentscope.UseXMLattributestospecifyanotherXMLnameornamespacefortheelement.错误发生在我代码中的这一行:Albumalbum=(Album)serializer.Deserialize(reader);我不知道为什么。没有重复的“名称”节点,所以我就是不明白。这是从来自第3方RESTAPI的HttpWebR

python - 为什么这个 xpath 在 python 中使用 lxml 失败?

这是我试图从中获取数据的示例网页。http://www.makospearguns.com/product-p/mcffgb.htmxpath取自chrome开发工具,firefox中的firepath也能找到它,但使用lxml它只会返回一个空列表'text'。fromlxmlimporthtmlimportrequestssite_url='http://www.makospearguns.com/product-p/mcffgb.htm'xpath='//*[@id="v65-product-parent"]/tbody/tr[2]/td[2]/table[1]/tbody/tr/

python - 如何用 Python 解析 SOAP XML?

目标:获取里面的值标签并打印出来。下面是简化的XML。0545GetMesometype333222634Getmetoosometype555777尝试:importrequestsfromxml.etreeimportElementTreeresponse=requests.get('http://www.labs.skanetrafiken.se/v2.2/querystation.asp?inpPointfr=yst')#XMLparsingheredom=ElementTree.fromstring(response.text)names=dom.findall('*/Nam